package cn.bug.greenflag.mapper;


import cn.bug.greenflag.pojo.entity.Admin;
import cn.bug.greenflag.pojo.vo.AdminFaceLoginVO;
import cn.bug.greenflag.pojo.vo.AdminListItemVO;
import cn.bug.greenflag.pojo.vo.AdminLoginInfoVO;
import cn.bug.greenflag.pojo.vo.AdminStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @program: qian_mianq
 * @description: 管理员功能持久层类
 * @author: 岳瀚
 * @create: 2022-09-14 22:29
 **/
@Repository
public interface AdminMapper {

    /**
     * 添加管理员
     * @param admin
     * @return 受影响的行数
     */
    int addNew(Admin admin);

    /**
     * 根据id删除管理员数据
     * @param id
     * @return 受影响的行数
     */
    int deleteById(Long id);

    /**
     * 根据id批量删除管理员
     * @param ids
     * @return
     */
    int deleteByIds(List<Long> ids);

    /**
     * 统计数量
     * @return admin的数量
     */
    int count();

    /**
     * 根据name统计数量
     * @param name
     * @return 数量
     */
    int countByName(String name);

    /**
     * 根据phone统计数量
     * @param phone
     * @return 数量
     */
    int countByPhone(String phone);

    /**
     * 显示管理员列表
     * @return 管理员列表
     */
    List<AdminListItemVO> list();

    /**
     *  获取所有的面部特征信息
     * @return
     */
    List<AdminFaceLoginVO> getFaceLoginList();

    /**
     * 修改
     * @param admin
     * @return
     */
    Integer update(Admin admin);

    /**
     * 通过id获取管理员对象
     * @param id
     * @return adminStandard
     */
    AdminStandardVO getStandById(Long id);

    AdminLoginInfoVO getLoginInfoByName(String name);
}
